1. Field of the Invention
The invention relates generally to management of power consumption by devices and more specifically relates to management of power consumption by a plurality of devices in a storage system based on work load of the plurality of devices.
2. Related Patents
This patent is related to commonly owned U.S. patent application Ser. No. 12/510,699 entitled METHODS AND APPARATUS FOR POWER ALLOCATION IN A STORAGE SYSTEM which is hereby incorporated by reference.
3. Discussion of Related Art
In a variety of electronic systems, including storage systems, a number of devices (e.g., storage devices) of the system may be under control of a common control unit. For example, in storage systems each one or more storage controllers may be coupled with a plurality of storage devices. The controllers and the storage devices each consume significant power even when in an idle state. Still more specifically, the communication interfaces in the storage controllers and the storage devices consume power even when idle if the communication medium and/or protocol require that an idle communication path continuously send and receive signals during an idle period in which no application data is exchanged between the devices. For example, in a Serial Attached SCSI (SAS) environment, the PHY layer logic (physical link control logic) of coupled devices exchange idle dwords during such idle periods.
Such a continuous stream of exchanged signals during an idle period may consume significant power in the system serving no purpose useful to the intended purposes of exchanging data. In view of such wasted power consumption some prior techniques have sought through manual means (i.e., an administrative user) to hold a communication port (e.g., a SAS PHY) in a reset state or simply completely turn off the communication port. When an administrator recognizes that work loads between the two devices are not being processed fast enough the administrator may manually re-configure the held off port to re-enable communications between the devices.
Such manual operations to enable/disable a communication port to reduce wasteful power consumption are cumbersome and cannot rapidly correct performance bottlenecks where a disabled port needs to be re-enabled to resume desired levels of performance. The manual re-enabling of a disabled port may not be performed quickly in response to changing work loads if the administrative user is unaware of the changes in loading of the system. Further holding a port in reset or completely powering down the PHY logic typically adds to the recovery time once the administrative user determines to re-enable the port. Powering off a logic circuit or applying a reset signal to an interface circuit typically performs a “hard” (e.g., complete) reset of all logic and gates in the interface circuit. The current configuration and state of the logic circuits in such an interface would then be reset to a default power on status-losing the state as previously configured (e.g., by “start of day” processing) and the state of the port as it was most recently operating. In such a case, further logic or administrative steps may be required to restore the configuration and state of the interface circuit to allow continued operation. Such additional logic or administrative steps could be time consuming thus slowing the process of re-enabling the disabled port.
Still further, prior, substantially manual techniques may reduce power consumption of just a single layer of the protocol stack of related logic layers. For example, an administrative user may hold the lowest level PHY logic of a SAS device in a reset state to reduce its power consumption but other layers (such as link, port, transport, and application layers) may remain operable and consuming power (to whatever they can continue to operate with a disabled PHY layer).
Thus it is an ongoing challenge to manage communication paths between devices, for example between SAS devices, to reduce wasteful power consumption.